One of the most expensive and time-consuming aspects of integrated circuit design and manufacture is the production test phase. Upon fabrication, each device should be fully tested before it can be sold. Coarse tests are used to filter grossly failing devices. More detailed tests are typically required to detect devices that operate largely as designed, but are still not fully functional. As circuits become more complicated, it is becoming increasingly difficult adequately to exercise (e.g., control) and monitor (e.g., observe) all the internal parts of a circuit from outside a device within which such a circuit operates. To address these difficulties, methods to perform built-in self-test (BIST) have been developed. To achieve BIST, elements are added internally to a circuit design for the exclusive purpose of testing the circuit. At a test stage, these blocks are exercised and after a known period of time, a determination can be made if sections of the circuit being controlled operate in an intended manner and with intended functionality.
The testing of circuits in communication devices is particularly challenging in view of the nature of data processed by such communication devices. To illustrate this point, it is useful to consider the functioning of a typical communications system. At a first stage, a communications system acquires data (e.g., a message) and modulates it. A second stage encodes the acquired data for transmission over a communications channel. At the other end of the communications channel, a receiving communications system decodes the channel information and demodulates this data to recover the original message. To fully and properly test a complex communications device, long streams of detailed and exact data, which accurately represent data that may be transmitted and/or received by the communications device over a communications channel, should be supplied to a communications device during the test phase. Typically, in the prior art, specialized equipment specific to each type of system and communication channel is necessary both to supply such test data and determine if a recovered message is correct. When communications devices form part of a printed circuit board (PCB), these devices may be difficult to access directly as the input data is typically supplied to the communications device via a path including several other integrated circuits.
Consider further that in many cases, the complete data streams or packets must be supplied to a communications device before a transmitter thereof performs any valid operations. Such data streams can be very long, and even sometimes exceed the storage capability of standard test equipment.
Additionally, there is also often a need to check if an entire product incorporating a communications device is working properly and supports certain standards. In such cases, a quick and simple test is often all that is required to test digital video applications (e.g., SMPTE-259M, SMPTE-292M, and the Digital Video Interface (DVI)).